package com.ruoyi.behavior.service;

import com.ruoyi.behavior.domain.Replies;
import com.ruoyi.behavior.domain.dto.*;
import com.ruoyi.behavior.domain.vo.VerReviewVo;

import java.util.List;

/**
 * 用户行为Service接口
 *
 * @author ruoyi
 * @date 2025-09-10
 */
public interface IVerReviewService {
    /**
     * 根据分类ID获取评论
     *
     * @param categoryId
     * @return
     */
    List<CategoryReviewDto> getReviewByCategoryId(Long categoryId);

    /**
     * 分页
     *
     * @param categoryReviewDto
     * @return
     */
    List<CategoryReviewDto> pageList(CategoryReviewDto categoryReviewDto);

    /**
     * 根据skuId获取sku信息
     *
     * @param skuId
     * @return
     */
    SkuReviewDto getSkuInfo(Long skuId);

    /**
     * 新增
     *
     * @param verReviewVo
     * @return
     */
    int add(VerReviewVo verReviewVo);

    /**
     * 根据sku_id获取统计信息与评论列表
     *
     * @param request
     * @return
     */
    SkuReviewListDto getSkuReviewList(SkuIdRequestDto  request);

    /**
     * 根据spu_id获取统计信息与评论列表
     *
     * @param request
     * @return
     */
    List<SpuReviewDto> getSpuReviewList(SupIdRequestDto  request);

    /**
     * 根据用户id获取订单项和评论
     *
     * @param request 包含用户ID和筛选条件的请求对象
     * @return
     */
    List<ReviewResultDto> getOrderItemAndReview(GetOrderItemAndReviewRequestDto request);

    /**
     * 修改
     *
     * @param verReviewVo
     * @return
     */
    Object edit(VerReviewVo verReviewVo);

    /**
     * 回复
     *
     * @param replies
     * @return
     */
    Replies reply(Replies replies);
}
